#ifndef __LISTS_H__
    #define __LISTS_H__
        //constants
        extern int DEBUG;

        //includes
        #include <stdlib.h>
        #include <stdio.h>
        #include "node.h"

struct item *startList();
struct item *findLast(item *wRoot);
struct item *findPrev(item *wItem);
struct item *findNext(item *wItem);
struct item *findRoot(item *wItem);
struct item *findFree(item *wRoot);
int killList(item *wRoot);
int itemCopyTo(item *wSrc, item *wDest);
int itemSwap(item *wA, item *wB);
int itemRemove(item *wItem);
struct item *itemNew(item *wRoot);
int itemSetString(item *wItem, char *string);
int itemPopulate(char *string, item *wRoot);
void displayItem(item *wCurrent);
void listPrint(item *wRoot);
struct item *scrollList(item *wRoot);
int listCount(item *wRoot);
void listWrite(item *wRoot, FILE *fTarget);
void printItemCount(item *wCurrent);
void printItemLen(item *wCurrent);
void printItemContent(item *wCurrent);

#endif
